package de.jmda.gen.java;

import java.util.Collection;
import java.util.List;

import de.jmda.gen.CompoundGenerator;

/**
 * {@link #getGenerators()} provides a collection of static method declaration
 * generators. A static part (see {@link StaticPartGenerator}) of a Java type
 * declaration can have multiple static method declarations.
 *
 * @author roger.jmda@gmail.com
 */
public interface StaticMethodDeclarationsGenerator
		extends CompoundGenerator
{
	List<StaticMethodDeclarationGenerator> getGenerators();
	
	/**
	 * Convenience method to add a {@link StaticMethodDeclarationGenerator} to
	 * {@link #getGenerators()}.
	 *
	 * @param generator
	 * @return as specified by {@link Collection#add(Object)}
	 */
	boolean add(StaticMethodDeclarationGenerator generator);
}